/*
 *    Copyright (c) 2018-2025, cloud All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: cloud
 */

import { httpGet, httpPost, httpDelete, httpPut, request } from '@/http'
import { services } from '@/config'

export const fetchList = params => httpGet(`${services.adminService}bulletin/page`, params)

export const addObj = data => httpPost(`${services.adminService}bulletin`, data)

export const getObj = id => httpGet(`${services.adminService}bulletin/${id}`)

export const delObj = id => httpDelete(`${services.adminService}bulletin/${id}`)

export const putObj = data => httpPut(`${services.adminService}bulletin`, data)

/**
 * 批量删除
 * @param ids
 * @returns {Promise<ResponseResult>}
 */
export function batchDelete(ids) {
  return request({
    url: `${services.adminService}bulletin/batchDelete`,
    method: 'delete',
    data: ids
  })
}

/**
 * 创建公告
 * @returns {Promise<ResponseResult>}
 */
export const create = () => httpGet(`${services.adminService}bulletin/create`)

/**
 * 发布公告
 * @param ids
 * @returns {Promise<ResponseResult>}
 */
export const pushBulletin = ids => httpPost(`${services.adminService}bulletin/pushBulletin`, ids)

/**
 * 获取通知公告
 * @returns {Promise<ResponseResult>}
 */
export const getBulletinList = () => httpPost(`${services.adminService}bulletin/getBulletinList`)
